package ch.zbw.vokabeltrainer.logik;

import ch.zbw.vokabeltrainer.persistenz.DB;
/**
 * Diese Klasse ist nur fuer die Speicherung auf der Datenbank zustaendig
 * 
 * @author brunofliri
 *
 */
public class Speichern {
	private DB db;


	/**
	 * Konstruktor um ein neues DB Object zu erstellen
	 * 
	 */
	public Speichern() {
		this.db = new DB();
		
	}
	/**
	 * Specihert eine neue Karteikarte ab auf der Datenbank
	 * 
	 * @param benutzername String
	 * @param sprachenKomb String 
	 * @param wort_Sprache1 String
	 * @param wort_Sprache2 String
	 * @param kategorie Integer
	 */
	public void karteSpeichern(String benutzername, String sprachenKomb, String wort_Sprache1, String wort_Sprache2, String kategorie){
		db.neuesWort(sprachenKomb, wort_Sprache1, wort_Sprache2, benutzername, kategorie);
	}
	/**
	 * Speichert ein neues Thema auf der Datenbank ab
	 * 
	 * @param benutzername String
	 * @param thema String
	 */
	public void themaSpeichern(String benutzername, String thema){
		db.neueKategorie(thema, benutzername);
	}
	/**
	 * Speichert eine neue SprachenKombination auf der Datenbank ab
	 * 
	 * @param benutzername String
	 * @param sprache String
	 */
	public void spracheSpeichern(String benutzername, String sprache){
		db.neueSprachenKomb(sprache, benutzername);
	}
	/**
	 * Speichert einen neuen Benutzer auf der Datenbank ab
	 * 
	 * @param benutzer String
	 */
	public void benutzerSpreichern(String benutzer){
		db.neuerBenutzer(benutzer);
	}
	/**
	 * Aendert das Koennen auf der Datenbank der Betraoofenen Karteikarte
	 *  
	 * @param wortSprache1 String
	 * @param wortSprache2 String
	 * @param aktBenutzerName String
	 * @param lernerfolg Integer
	 */
	public void koenenAendern(String wortSprache1, String wortSprache2,
			String aktBenutzerName, int lernerfolg) {
			db.aendereKoennenWort(wortSprache1, wortSprache2, aktBenutzerName, lernerfolg);	
	}
	/**
	 * Loescht das gewaehlte Wort au der Datenbank
	 * 
	 * @param wortSprache1 String
	 * @param wortSprache2 String
	 * @param benutzername String
	 */
	public void loescheWort(String wortSprache1, String wortSprache2, String benutzername){
		db.loescheWort(wortSprache1, wortSprache2, benutzername);
	}
	/**
	 * Loescht das Thema mit allen Woertern auf der Datenbank
	 * 
	 * @param kategorie String
	 * @param benutzername String
	 */
	public void loescheThema(String kategorie, String benutzername){
		db.loescheKategorie(kategorie, benutzername);
	}
	/**
	 * Loescht die gewaehlte Sprachenkombination mit allen Themas und Woerten auf der Datenbanks
	 * 
	 * @param sprache String
	 * @param benutzername String
	 */
	public void loescheSprache(String sprache, String benutzername){
		db.loescheSprachenkomb(benutzername, sprache);
	}
	/**
	 * Loescht den gewaehlten Benutzer auf der Datenbank mit allen SprachenKombinationen, Themas und Woerten.
	 * 
	 * @param benutzername String
	 */
	public void loescheBenutzer(String benutzername){
		db.loescheBenutzer(benutzername);
	}	
}
